package com.rolerealm.domain.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 语音识别与合成 DTO
 */
public class SpeechDTOs {

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SpeechRecognitionResponse {
        private String text;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SpeechSynthesisRequest {
        @NotBlank
        private String text;

        @Size(max = 50)
        private String voice;

        private Double speed;
        private Double pitch;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SpeechSynthesisResponse {
        private String audioUrl;
    }
}


